#pragma once
#ifdef  _WIN64
#pragma warning (disable:4996)
#endif

#if defined(WIN32)
# include <windows.h>
# include <conio.h>
#else
# include "conio.h"
# include <string.h>
#endif

#include <stdio.h>
#include <assert.h>

#include <HD/hd.h>

#include <HDU/hduVector.h>
#include <HDU/hduError.h>

/* Holds data retrieved from HDAPI. */
typedef struct
{
    HDboolean m_buttonState;       /* Has the device button has been pressed. */
    hduVector3Dd m_devicePosition; /* Current device coordinates. */
    hduVector3Dd m_gimbalAngles; /* Current device poses. */
    hduVector3Dd m_jointAngles;
    HDdouble m_transform[16];
    HDErrorInfo m_error;
} DeviceData;

HDCallbackCode HDCALLBACK updateDeviceCallback(void*);


HDCallbackCode HDCALLBACK copyDeviceDataCallback(void*);

void printHelp(void);





